package vo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.MappedSuperclass;
import javax.persistence.OneToOne;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

@MappedSuperclass
@Entity(name = "pessoa")
@Inheritance(strategy = InheritanceType.JOINED)
public class PessoaVO implements Serializable {
	private static final long serialVersionUID = 4070459148654303098L;
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@GenericGenerator(name = "pes", strategy = "foreign", parameters = @Parameter(name = "property", value = "pessoa"))
	@Column(name = "id")
	private int id;
	@Column(name = "desc_nome")
	private String nome;
	@Column(name = "desc_telefone")
	private String telefone;
	@Column(name = "desc_endereco")
	private String endereco;
	@Column(name = "desc_bairro")
	private String bairro;
	@Column(name = "desc_cidade")
	private String cidade;
	@Column(name = "desc_estado")
	private String estado;
	@Column(name = "desc_cpf")
	private String cpf;
	@Column(name = "desc_rg")
	private String rg;
	@Column(name = "desc_cnpj")
	private String cnpj;
	@Column(name = "desc_inscr_estadual")
	private String inscEstadual;
	@Column(name = "desc_nome_fantasia")
	private String nomeFantasia;

	@OneToOne(mappedBy = "pessoaVO", cascade = javax.persistence.CascadeType.ALL)
	private FuncionarioVO funcionarioVO;

	public FuncionarioVO getFuncionarioVO() {
		return funcionarioVO;
	}

	public void setFuncionarioVO(FuncionarioVO funcionarioVO) {
		this.funcionarioVO = funcionarioVO;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public String getCnpj() {
		return cnpj;
	}

	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

	public String getInscEstadual() {
		return inscEstadual;
	}

	public void setInscEstadual(String inscEstadual) {
		this.inscEstadual = inscEstadual;
	}


	public String getNomeFantasia() {
		return nomeFantasia;
	}

	public void setNomeFantasia(String nomeFantasia) {
		this.nomeFantasia = nomeFantasia;
	}

}
